Added keep open boolean field to Stock Location modal form#11074
Added keep open boolean field to Stock Location modal form#11074spamik wants to merge 18 commits intoinventree:masterfrom
Conversation
✅ Deploy Preview for inventree-web-pui-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
| }, | ||
| location_type: {} | ||
| location_type: {}, | ||
| keep_form_open: keepFormOpenField(create) |
There was a problem hiding this comment.
I do not really like this method here, I would prefer a generic approach here. What do you mean @SchrodingersGat ?
There was a problem hiding this comment.
It does seem out of step with how are pass other parameters. It could be a simple keep_form_open attribute
There was a problem hiding this comment.
Can't we have this parameter for all forms on InvenTree (if it's not disabled for that form) and then don't mix the form fields with the keep open toggle we render independently at the bottom of keep open is available for that form?
… field definitions
|
Ok, I've rewrited it a little. What about now? Calling method is gone. I had to still leave there some parameter passing because I didn't figured out how to hide this field in edit forms in some other way. |
|
Ok, I now rewritted it as a form property, enabled on create forms. |
matmair
left a comment
There was a problem hiding this comment.
LGTM; thanks for the contribution
|
@spamik it looks like your current implementation does not actually use the "keep open" feature in any forms yet - is this intentional? |
|
@SchrodingersGat It shouldn't be; I added keepFormOpenOption=true to CreateApiModalForm so this option should be visible on all create forms (and at least it looks like that when I was testing it). But it's for sure possible to change this option on create form and enable it only on specific forms. |
|
Please address this issue: |
|
@spamik I have pulled this code branch down to test, and I notice a real performance hit when toggling the "keep form open" switch. When compared to a normal boolean input within the form (which toggles very quickly) there is a significant slow-down / lag which is introduced into the browser - especially when quickly toggling the "keep form open" input multiple times. I have not had a chance to try to profile this yet, but this will need to be addressed before we can merge. |
|
I'll try to look on both of the issues. Regarding the performance hit - any idea from experienced react developers what can cause it? Because I've just used mantis switch component and on onchange event it's changing boolean property so I'm really wondering what can be wrong with this part :-) |
…d it's enabled on selected forms.
|
Typescript error fixed. Also I've removed this option as default and I've enabled it on some selected forms which seems reasonable for this option to me. |
- using useRef instead of useState - keepOpenSwitch moved to own component
|
I've made some other changes - switch with option was moved to component. And rewrited useState to useRef instead. Now when I'm trying to clicking on switch fast it seems that it's performing much better. |
|
@spamik very nice, happy with this now! Just some very small changes to request: Changelog
Docs
|
|
Done :-) |
|
@spamik thanks! One last thing (sorry!) - I note that there are no test added for this new feature - can you please add a playwright test to ensure that it is functioning as expected: https://docs.inventree.org/en/stable/develop/react-frontend/#testing |
|
Please add a test, fix conflicts, and I'm happy to merge this in! |
|
Yep, I'll try that. Maybe it will take a little time - playwright is another technology I didn't used so far :-) |



Added new boolean form field to Stock Location modal form which allows to keep form open after submitting instead closing it and redirecting browser to new stock location. This was discussed in this FR: #10412